約 2,571,514 件
https://w.atwiki.jp/qtmemo/pages/40.html
Implicit Sharing 概要 Qtの多くのクラスでは大きなリソースを最小のコピーで済むようにするため、implicit data sharing を利用しています。 仕組み クラスのメンバ変数はデータに対するポインタのみからなります。 クラスのコピーを行う場合にコピーされるのはポインタだけなので、非常に高速に動作します。 ポインタの参照先のデータには参照数をカウントしており、最初にデータが生成されたとき1、その後コピーなどが行われた場合参照数を+1していきます。逆に参照していたオブジェクトが破棄された場合は参照数が-1されます。 参照数が0になると、参照しているオブジェクトが存在しないということなのでデータの実体は破棄されます。 以上の仕組みにより通常はコピーしたオブジェクトに変更を加えると、コピー元のオブジェクトも変更されることになります。
https://w.atwiki.jp/sugawara/pages/139.html
Qt Tips QPixmap grabWindow()を使う。 QPixmap screenShot = QPixmap grabWindow( QApplication desktop()- winId() );
https://w.atwiki.jp/opengles/pages/24.html
Open GL ES commands are formed from a return type, a name, and optionally a type letter i for 32-bit int, or f for 32-bit float, as shown by the prototype below return-type Name{1234}{if}{v} ([args ,] T arg1 , . . . , T argN [, args]); The arguments enclosed in brackets ([args ,] and [, args]) may or may not be present. The argument type T and the number N of arguments may be indicated by the command name suffixes. N is 1, 2, 3, or 4 if present, or else corresponds to the type letters. If “v” is present, an array of N items is passed by a pointer. For brevity, the OpenGL documentation and this reference may omit the standard prefixes. The actual names are of the forms glFunctionName(), GL_CONSTANT, GLtype
https://w.atwiki.jp/kenettoristemprate/pages/17.html
More式QTとは、QT砲の亜種である。 https //tinyurl.com/ygrj7z7e
https://w.atwiki.jp/bambooflow/pages/155.html
Qt4でDesignerを使う Qt3からQt4に移行するとき、Designerの使いかたが変わってしまって戸惑いました。 Qt4でのDesignerの使いかたをメモしておきます。 Qt4でDesignerを使うサンプルイメージ 作成するファイル Designerでform01.ui作成 手書きファイル準備form01.h main.cpp コンパイル・実行手順 まとめ サンプルイメージ 作成するファイル 次のファイルを準備すればサンプルイメージのものを作成することができます。 form01.ui Designerで作成 form01.h 手書きで作成 main.cpp 手書きで作成 gui_test01ディレクトリを用意して、その中にファイルを置きます。 (デフォルトでは、ディレクトリ名が実行ファイル名となります。) Designerでform01.ui作成 Qt-Designerを立ち上げます。 $ designer ファイル- 新しいフォーム- Widgetを選択オブジェクト名を"Form01"にします。 Form01にアイテムを配置します。Labelを配置します。オブジェクト名を"showLabel"とします。 Push Buttonを配置します。オブジェクト名を"showBtn"とします。 テキストを"表示"とします。 Push Buttonを配置します。オブジェクト名を"exitBtn"とします。 テキストを"閉じる"とします。 exitBtnのClockedシグナルとForm01のcloseスロットを接続します。(下図参照) フォームを名前"form01.ui"とつけて保存。 手書きファイル準備 form01.h #ifndef __FORM01_H_ #define __FORM01_H_ #include QMainWindow #include QWidget #include "ui_form01.h" class Form01 public QWidget, private Ui Form01 { Q_OBJECT public Form01(QWidget *parent=0) QWidget( parent ) // Ui_Form01( parent ) { setupUi(this); QObject connect(showBtn, SIGNAL(clicked()), this, SLOT(slot_showHello())); } private slots void slot_showHello() { showLabel- setText("Hello!!!"); } }; #endif /* __FORM01_H_ */ ほんとは、.hと.cppを用意した方がよいですが、ここでは簡易的に.hのみにしました。 main.cpp #include QApplication #include "form01.h" int main( int argc, char* argv[] ) { QApplication myapp( argc, argv ); Form01 *form = new Form01( 0 ); form- show(); return myapp.exec(); } コンパイル・実行手順 ファイルのあるところに移動します。 $ cd gui_test01 そして、次を順に実行します。 $ qmake -project $ qmake $ make qmake -projectでプロジェクトファイル(.pro)が生成されます。 qmakeで"Makefile"を生成します。 makeで.uiファイルからmoc_xxx.hとui_xxx.hファイルを生成後、実行ファイルを生成します。 実行ファイルを実行します。 $ ./gui_test01 まとめ Designerで作成できるのはフォームの形成と簡単なシグナル-スロット接続のみ。 基本的には、main.cppファイルやユーザ定義のWidgetの中身は手書きになります。 それ以外のMakefile等の環境は自動的に生成されます。 とりあえず、これだけメモしておけば、次立ち上げのとき楽になるはず。
https://w.atwiki.jp/bambooflow/pages/246.html
QtでODE プロジェクトファイル設定 メモ書き。 xxx.pro QT += opengl ・・・ win32 INCLUDEPATH += C /ode-0.11.1/include win32 LIBS += -LC /ode-0.11.1/lib/DebugDoubleLib -lode_doubled unix INCLUDEPATH += /usr/local/ode-0.11.1/include unix LIBS += -L/usr/local/ode-0.11.1/lib -lode
https://w.atwiki.jp/bambooflow/pages/244.html
Qt-Creator設定メモ createrを使う準備として、qmakeへのパスが通っていることを確認。 ツール→オプション →Qt→Qt Versions 以下のようにパスが見えていれば問題なく使えます。 見えていなければ、qmake.exeへのパスを環境変数PATHで設定。 もしくはマニュアルでパスを教えてあげる必要があります。
https://w.atwiki.jp/mypad/pages/23.html
openFrameworksを使っているとopenGLの知識が必要になってくる ofxARToolkitPlusという拡張現実の描画をしているのもOPENGL。 どうも座標があわないなと思っていたら ただし、OpenGLでは、座標の原点(0,0)は左下です。 とのこと。y座標が上下逆で、デカルト座標系なんですね。 http //sky.geocities.jp/freakish_osprey/opengl/opengl_viewport.htm
https://w.atwiki.jp/sabupot/pages/16.html
OpenGLに関するリンク集です。 GLUTによる「手抜き」OpenGL入門 ↑情報量が多いです。OpenGLのインストール方法も詳しく書いてあります。 OpenGL Programin ↑よく見てないので分かりません。
https://w.atwiki.jp/pspt/pages/248.html
OpenGL OpenGLはグラフィックスハードウェアのAPI。 2次元・3次元コンピュータグラフィックス両方が扱えどのOSでも使う事ができる。 他のグラフィックスハードウェアのAPIはMS社のDirectXなどがある。 OpenGL導入の仕方(osがwindowsで開発環境がvisual c++の場合) OpenGLのHello world 二次元の図形を表示させたい! 参考 導入の仕方(osがwindowsで開発環境がvisual c++の場合) OpenGL自体はどのosにも大抵入っているが動かせるようにするにはちょっとした手続きが必要です。 まずここからglut-3.7.6-bin.zipをダウンロードし解凍しましょう。 glut32.dll glut32.lib glut.h というファイルがあるのでdllをOSが 32bitならC \Windows\System32に 64bitならC \Windows\SysWOW64に に置きましょう。 続いてglut.hを\Microsoft Visual Studio 11.0\VC\include\gl(glがなければ作る) glut32.libを\Microsoft Visual Studio 11.0\VC\lib に置きましょう。 これで#include gl/glut.h とおいてコンパイルエラーが起こらなければ成功です。 設定はこれだけです。 注意 glut.hをインクルードする時はstdio.hとstdlib.hを先頭にして下さい。 OpenGLのHello world #include GL/glut.h void display(void) { } int main(int argc, char *argv[]) { glutInit( argc, argv); glutCreateWindow("hello world"); glutDisplayFunc(display); glutMainLoop(); return 0; } void glutInit(int *argc, char **argv) GLUT および OpenGL 環境を初期化します。 引数には main の引数をそのまま渡します. X Window で使われるオプション -display などはここで処理されます. この関数によって引数の内容が変更されます. int glutCreateWindow(char *name) ウィンドウを開きます. 引数 name はそのウィンドウの名前の文字列で, タイトルバーなどに表示されます. void glutDisplayFunc(void (*func)(void)) 引数 func は開いたウィンドウ内に描画する関数へのポインタです. ウィンドウが開かれたり, 他のウィンドウによって隠されたウィンドウが再び現れたりして, ウィンドウを再描画する必要があるときに, この関数が実行されます. したがって, この関数内で図形表示を行います. void glutMainLoop(void) これは無限ループです. この関数を呼び出すことで, プログラムはイベントの待ち受け状態になります. この関数がないとウィンドウが一瞬で消えてしまいます。 図形の描写はdiplay関数内で行われます。 二次元の図形を表示させたい! 参考 GLUTによる「手抜き」OpenGL入門 http //www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html OpenGL de プログラミング http //wiki.livedoor.jp/mikk_ni3_92/